Techniques for Building Highly Concurrent Data Structures by Ori Shalev
نویسندگان
چکیده
In this dissertation, we present several novel techniques for concurrently accessing shared data structures in shared memory multi-processor/multicore machines. These techniques improve parallelism and thus system throughput by avoiding the use of coarse-grained locking. We begin by presenting a new design for a concurrent hash table based on the novel concept of a split-ordered list. The hash table algorithm is the first non-blocking algorithm efficiently supporting growing data sets. We then proceed to introduce three paradigms for general implementation of concurrent data structures. The first two general synchronization schemes share a principle we call logsynchronization. These schemes aim to improve throughput by enabling readonly operations to be executed concurrently with modifying operations. A low-overhead execution of the common type of operations is possible due to duplication of shared data into active and shadow copies. Finally, we introduce Transactional Locking (TL), a practical design approach for software transactional memory (STM) systems. We introduce the TL2 finegrained locking scheme based on a global clock, a scheme that deals with many important practical aspects of STM implementation: low overhead, involunerability to inconsistent states, and compatibility with non-custommemorymanagement. A common feature of all the proposed designs is the emphasis on making them practical. All algorithms were evaluated empirically and shown to provide high throughput in a significant set of benchmarks.
منابع مشابه
The Baskets Queue
FIFO Queues have over the years been the subject of significant research. Such queues are used as buffers both in a variety of applications, and in recent years as a key tool in buffering data in high speed communication networks. Overall, the most popular dynamic-memory lock-free FIFO queue algorithm in the literature remains the MS-queue algorithm of Michael and Scott. Unfortunately, this alg...
متن کاملTransactional Locking II
The transactional memory programming paradigm is gaining momentum as the approach of choice for replacing locks in concurrent programming. This paper introduces the transactional locking II (TL2) algorithm, a software transactional memory (STM) algorithm based on a combination of commit-time locking and a novel global version-clock based validation technique. TL2 improves on state-of-the-art ST...
متن کاملAn approach to fault detection and correction in design of systems using of Turbo codes
We present an approach to design of fault tolerant computing systems. In this paper, a technique is employed that enable the combination of several codes, in order to obtain flexibility in the design of error correcting codes. Code combining techniques are very effective, which one of these codes are turbo codes. The Algorithm-based fault tolerance techniques that to detect errors rely on the c...
متن کاملLocal Linearizability for Concurrent Container-Type Data Structures
The semantics of concurrent data structures is usually given by a sequential specification and a consistency condition. Linearizability is the most popular consistency condition due to its simplicity and general applicability. Nevertheless, for applications that do not require all guarantees offered by linearizability, recent research has focused on improving performance and scalability of conc...
متن کاملTiming Conditions for Linearizability in Uniform Counting Networks
Counting networks are concurrent data structures that serve as building blocks in the design of highly scalable concurrent data structures in a way that eliminates sequential bottlenecks and contention Linearizable counting networks assure that the order of the values returned by the network re ects the real time order in which they were requested Linearizability is an impor tant consistency co...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008